home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Applications 1998 June / SGI IRIX 6.5 Applications 1998 June.iso / dist / media_warehouse.idb / usr / include / MediaViewer / MediaViewer.h.z / MediaViewer.h
C/C++ Source or Header  |  1998-05-04  |  3KB  |  91 lines

  1. #ifndef _MEDIA_VIEWER_H_
  2. #define _MEDIA_VIEWER_H_
  3.  
  4. /*
  5.  * Copyright 1995-1997, Silicon Graphics, Inc.
  6.  * ALL RIGHTS RESERVED
  7.  *
  8.  * UNPUBLISHED -- Rights reserved under the copyright laws of the United
  9.  * States.   Use of a copyright notice is precautionary only and does not
  10.  * imply publication or disclosure.
  11.  *
  12.  * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
  13.  * Use, duplication or disclosure by the Government is subject to restrictions
  14.  * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
  15.  * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
  16.  * in similar or successor clauses in the FAR, or the DOD or NASA FAR
  17.  * Supplement.  Contractor/manufacturer is Silicon Graphics, Inc.,
  18.  * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
  19.  *
  20.  * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
  21.  * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
  22.  * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
  23.  * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
  24.  * GRAPHICS, INC.
  25.  */
  26.  
  27. // forward references
  28. class ResourceFile;
  29. class ViewerManager;
  30. class FtrTargets;
  31.  
  32. // base class
  33. #include <Vk/VkComponent.h>
  34.  
  35. #if (_MIPS_SIM == _MIPS_SIM_NABI32)
  36. static const char _defaultDBFile[] = "/usr/lib32/mediaw/mediawrc";
  37. #else
  38. static const char _defaultDBFile[] = "/usr/lib/mediaw/mediawrc";
  39. #endif
  40.  
  41. class MediaViewer : public VkComponent
  42. {
  43.     public:
  44.         MediaViewer(const char *vkname, Widget wParent,
  45.             const char *dbFile = _defaultDBFile);
  46.         virtual ~MediaViewer();
  47.         virtual const char *className() { return "MediaViewer"; }
  48.  
  49.         // view a file
  50.         virtual void viewFile(const char *filename);
  51.  
  52.         // view a piece of typed data
  53.         virtual void viewData(const char *labelName,
  54.             Atom typeAtom, void *data, unsigned long length);
  55.         virtual void viewData(const char *labelName,
  56.             const char *typeName, void *data, unsigned long length);
  57.  
  58.         // convenience accessors (use only after viewData())
  59.         virtual const char *getFtrTypeName();
  60.         virtual const char *getFtrDescription();
  61.         virtual const char *getTargetName();
  62.  
  63.     // set to False to hide the viewer frame and label
  64.     void showViewerFrame(Boolean);
  65.  
  66.     // RapidApp support
  67.     static VkComponent *CreateMediaViewer(const char *, Widget);
  68.  
  69.     protected:
  70.         virtual void viewFileI(const char *type, const char *name);
  71.         virtual void viewError();
  72.  
  73.         // included classes
  74.         ResourceFile *rf;
  75.         FtrTargets *ftr;
  76.         ViewerManager *vm;
  77.  
  78.     private:
  79.     Boolean viewDirectory(const char* filename,
  80.                   const char* dataName,
  81.                   const char* targetType);
  82.  
  83.     static void viewDirInputProc(XtPointer clientData,
  84.                      int* fd,
  85.                      XtInputId* id);
  86.     // for RapidApp
  87.     static void *RegisterMediaViewerInterface();
  88. };
  89.  
  90. #endif // _MEDIA_VIEWER_H_
  91.